package com.alks.function.service.procurement;

import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.dto.procurement.PcPackTypeDto;
import com.alks.function.data.request.procurement.PackagMaterialRequest;
import com.alks.function.data.request.procurement.PcPackStyleTypeMtlRequest;
import com.alks.function.data.request.procurement.SdMaterialRequest;

import java.util.List;

public interface BrandMaterialDefinitionService {

    ResponseInfo getBrandMaterialListByStyle(String style);

    ResponseInfo addBrandMaterial(String style);

    ResponseInfo deleteBrandMaterial(String style);

    ResponseInfo getPackageMaterialByStyle(String style);

    ResponseInfo addPackagMaterial(List<PackagMaterialRequest> request, String style);

    ResponseInfo deletePackagMaterial(PackagMaterialRequest request, String style);

    ResponseInfo updatePackagMaterial(List<PackagMaterialRequest> request, String style);

    ResponseInfo getMaterialList(String style, PackagMaterialRequest request);

    ResponseInfo deleteMaterial(String style, PackagMaterialRequest request, String mtlNo );

    ResponseInfo addBoxingStyle(List<PcPackTypeDto> request);

    ResponseInfo getBoxingStyle();

    ResponseInfo getMaterialDataFilingList(SdMaterialRequest request);

    ResponseInfo deleteMaterialDataFiling(String mtlNo);

    ResponseInfo getBrandTypeList(String style);

    ResponseInfo addBrand(String style);

    ResponseInfo getPackagMaterialList(String style);

    ResponseInfo addMaterialDataFiling(SdMaterialRequest request);

    ResponseInfo makeSdMaterial(SdMaterialRequest request);

    ResponseInfo addSdMaterial(SdMaterialRequest request);

    ResponseInfo updateSdMaterial(SdMaterialRequest request);

    ResponseInfo addMaterialDetail(PcPackStyleTypeMtlRequest request);

    ResponseInfo deleteAllBrandMaterial(String style );

    ResponseInfo addBatchMaterialDetail(List<PcPackStyleTypeMtlRequest> request);

    ResponseInfo updateMaterialDetail(PcPackStyleTypeMtlRequest request);
}
